package com.atguigu.tingshu.search.service;

import com.atguigu.tingshu.query.search.AlbumIndexQuery;
import com.atguigu.tingshu.vo.search.AlbumInfoIndexVo;
import com.atguigu.tingshu.vo.search.AlbumSearchResponseVo;

import java.util.List;
import java.util.Map;

public interface SearchService {

    /**
     * 专辑上架
     * @param albumId
     */
    void upperAlbum(Long albumId);

    void lowerAlbum(Long albumId);

    /**
     * 专辑搜索
     * @param albumIndexQuery
     * @return
     */
    AlbumSearchResponseVo search(AlbumIndexQuery albumIndexQuery);

    /**
     * 根据一级分类id查找频道数据
     *
     * @param category1Id
     * @return
     */
    List<Map<String, Object>> channel(Long category1Id);

    /**
     * 根据关键字查找联想数据
     *
     * @param keyword
     * @return
     */
    List<String> completeSuggest(String keyword);

    void updateLatelyAlbumRanking();

    /**
     * 根据一级分类id和维度查找排行榜数据
     *
     * @param category1Id
     * @param dimension
     * @return
     */
    List<AlbumInfoIndexVo> findRankingList(Long category1Id, String dimension);
}
